/*
 *  Copyright 2020-2021 Li Fei
 *
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 *
 *  http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 */
package com.pengshun.modules.api.coal.service.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.pengshun.modules.api.coal.validator.First;
import com.pengshun.modules.api.coal.validator.Third;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.io.Serializable;
import java.util.Date;

/**
 * @author lifei
 * @description /
 * @date 2020-11-05
 **/
@Data
public class MerchantDto implements Serializable {

    /**
     * id
     */
    @NotNull(message = "商户id不能为空", groups = {Third.class})
    private Long id;

    /**
     * 申请来源人Id
     */
    private Long userId;

    /**
     * 商户类别Id
     */
    @NotNull(message = "商户id不能为空", groups = {First.class})
    private Long merchantId;
    private Long merchantCategoryId;
    /**
     * 商户姓名
     */
    private String name;
    private String bookPic;

    private Integer level;

    /**
     * 负责人姓名
     */
    private String idCardName;
    /**
     * 道路许可证
     */
    private String wayPic;
    private String linkman;
    private String linkmanPhone;

    /**
     * 负责人省份证号
     */
    private String idCardNum;

    /**
     * 身份证正面
     */
    private String idCardFrontImg;

    /**
     * 身份证反面
     */
    private String idCardBackImg;

    /**
     * 营业执照
     */
    private String businessLicenseImg;

    /**
     * 审核备注
     */
    private String comments;

    /**
     * 审核状态
     */
    private Integer reviewStatus;

    /**
     * 省份证过期时间
     */
    private Date expireDate;

    /**
     * 申请时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
    private Date applyDate;

    /**
     * 审批时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
    private Date reviewDate;

    /**
     * 审批人
     */
    private String reviewer;

    /**
     * 审批人Id
     */
    private Long reviewerUserId;

    /**
     * 省
     */
    @NotNull(message = "省不能为空", groups = {Third.class})
    private String province;

    /**
     * 市
     */
    @NotNull(message = "市不能为空", groups = {Third.class})
    private String city;

    /**
     * 区编码
     */
    @NotNull(message = "区编码不能为空", groups = {Third.class})
    private Integer adcode;

    /**
     * 区
     */
    @NotNull(message = "区不能为空", groups = {Third.class})
    private String district;

    /**
     * 地图子地址
     */
    private String subAddress;

    /**
     * 地图地址
     */
    private String mapAddress;

    /**
     * 纬度
     */
    @NotNull(message = "纬度不能为空", groups = {Third.class})
    private BigDecimal lngX;

    /**
     * 经度
     */
    @NotNull(message = "经度不能为空", groups = {Third.class})
    private BigDecimal latY;

    /**
     * 详细地址
     */
    private String detailAddress;

    /**
     * 认证来源
     */
    private Integer source;

    private String ticketId;

    /**
     * 创建人
     */
    private String createBy;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 修改时间
     */
    private String updateBy;

    /**
     * 修改人
     */
    private Date updateTime;

    /**
     * 统一社会信用代码
     */
    private String entCode;

    /**
     * 企业类型
     */
    private String holderType;

    /**
     * 企业经营类型
     */
    private String tradeType;

    /**
     * 法定代表人
     */
    private String mainLeader;

    /**
     * 成立日期
     */
    private Date avaStart;

    /**
     * 营业执照有效期
     */
    private Date avaEnd;

    /**
     * 联系人
     */
    private String contacts;

    /**
     * 联系电话
     */
    private String mobile;

    /**
     * 通讯地址
     */
    private String postaAddress;

    /**
     * 账号授权书
     */
    private String accountAuthorizationImg;

    /**
     * 证件状态
     */
    private String useState;

    /**
     * 门头照片
     */
    private String doorImg;

    /**
     * 状态0营业中1暂停营业
     */
    private Integer status;

    //企业名称
    private String merchantName;

    /**
     * 身份证正面
     */
    private String idCardFrontImgs;

    /**
     * 身份证反面
     */
    private String idCardBackImgs;

    //是否法人
    private Integer isLegalPerson;
    private Integer scId;
    private Integer spId;
    private Integer businessType;
    private BigDecimal score;
    private BigDecimal longitude;
    private BigDecimal latitude;
}